import {
  request
} from '../../utils/requestUtils';
Page({

  /**
   * 页面的初始数据
   */
  data: {
    form: {
      productName: '', //商品名称
      productDesc: '', //商品描述
      prePrice: '', //商品价格（折前价）
      status: '2', // 上架状态,
      statusName: '下架',//状态名称
      unitId: '', //单位id
      unitName: '', //单位名称
      categoryId: '', //分类ID
      categoryName: '', // 分类名称
      stallId: '', //摊位id
      stallName: '', //摊位名称
      storageQty: '', //库存数量，
      listPictures: [], // 列表文件
      detailsPictures: [], // 详情文件
    }
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    if(options && options.id){
      this.findById(options.id)
    }

  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  },
  // 给输入框绑定值
  // 输入框方法
  onChange(event) {
    switch (event.currentTarget.dataset['input']) {
      case 'productName':
        this.setData({
          "form.productName": event.detail,
        })
        break;
      case 'productDesc':
        this.setData({
          "form.productDesc": event.detail,
        })
        break;
      case 'prePrice':
        this.setData({
          "form.prePrice": event.detail,
        })
        break;
      case 'storageQty':
        this.setData({
          "form.storageQty": event.detail,
        })
        break;
    }
  },
  // 选择类型
  sekectType() {
    let component = this.selectComponent('#selectCon')
    if (component) {
      component.addhow('/merchant/bus/category/list?pageNum=1&pageSize=500', {
      }, 'categoryName', 'category');
    }
  },
  // 选择单位
  sekectUnit() {
    let component = this.selectComponent('#selectCon')
    if (component) {
      component.addhow('/merchant/bus/unit/list?pageNum=1&pageSize=500', {
        stallId: ''
      }, 'unitName', 'unit');
    }
  },
  // 选择上下架状态
  sekectStatus() {
    let component = this.selectComponent('#dictCon')
    console.log('component', component)
    if (component) {
      component.addhow('product_status');
    }
  },
    // 选择商品类型
    selectProductPriceType() {
      let component = this.selectComponent('#dictCon')
      console.log('component', component)
      if (component) {
        component.addhow('product_price_type');
      }
    },
  // 新增类型
  addType() {
    let component = this.selectComponent('#addTypeCon')
    if (component) {
      component.addTypeShow();
    }
  },
  // 新增分类
  addUnit() {
    let component = this.selectComponent('#addUnit')
    if (component) {
      component.addUnitShow();
    }
  },
  // 数据字典返回
  dictConfirm(e) {
    if (e.detail.key == "product_status") {
      this.setData({
        'form.status': e.detail.dictValue,
        'form.statusName': e.detail.dictLabel,
      })
    }else if (e.detail.key == "product_price_type") {
      this.setData({
        'form.productType': e.detail.dictValue,
        'form.productTypeName': e.detail.dictLabel,
      })
    }
  },
  // 确认选择的类型或者单位
  conditionConfirm(e) {
    if (e.detail.key === 'category') {
      this.setData({
        'form.categoryName': e.detail.categoryName,
        'form.categoryId': e.detail.id
      })
    } else if (e.detail.key === 'unit') {
      this.setData({
        'form.unitName': e.detail.unitName,
        'form.unitId': e.detail.id
      })
    }

  },
  // 保存文件
  async save() {
    // 获取列表图片
    let picList = this.selectComponent('#listUploader').data.fileList
    let detailsList = this.selectComponent('#detailsUploader').data.fileList
    if (!picList || picList.length == 0) {
      wx.showToast({
        title: '列表图片不能为空',
        icon: 'none'
      })
      return
    }
    if (!detailsList || detailsList.length == 0) {
      wx.showToast({
        title: '详情图片不能为空',
        icon: 'none'
      })
      return
    }
    picList.forEach(v => v.type = '1');
    detailsList.forEach(v => v.type = '2');
    const result = await request({
      url: '/merchant/bus/product',
      method: "POST",
      data: {
        ...this.data.form,
        ...{
          listPictures: [...picList, ...detailsList]
        }
      }
    });
    if (result.data.code == 200) {
      wx.navigateBack({
        delta: 1
      })
    }
  },
  // 根据id查询商品
  async findById(id){
    const result = await request({
      url: '/merchant/bus/product/'+id,
      method: "GET"
    })
    console.log('result', result)
    if(result.data.code==200){
      this.setData({
        form:result.data.data
      })
      // 处理图片
      if(result.data.data){}
      this.selectComponent('#listUploader').initListHandler(result.data.data.listPictures)
      this.selectComponent('#detailsUploader').initListHandler(result.data.data.detailsList)
    }

  }
})
